// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Code generated by sidekick. DO NOT EDIT.

//! Traits to mock the clients in this library.
//!
//! Application developers may need to mock the clients in this library to test
//! how their application works with different (and sometimes hard to trigger)
//! client and service behavior. Such test can define mocks implementing the
//! trait(s) defined in this module, initialize the client with an instance of
//! this mock in their tests, and verify their application responds as expected.

#![allow(rustdoc::broken_intra_doc_links)]

pub(crate) mod dynamic;

/// Defines the trait used to implement [super::client::ContactCenterInsights].
///
/// Application developers may need to implement this trait to mock
/// `client::ContactCenterInsights`.  In other use-cases, application developers only
/// use `client::ContactCenterInsights` and need not be concerned with this trait or
/// its implementations.
///
/// Services gain new RPCs routinely. Consequently, this trait gains new methods
/// too. To avoid breaking applications the trait provides a default
/// implementation of each method. Most of these implementations just return an
/// error.
pub trait ContactCenterInsights: std::fmt::Debug + Send + Sync {
    /// Implements [super::client::ContactCenterInsights::create_conversation].
    fn create_conversation(
        &self,
        _req: crate::model::CreateConversationRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::Conversation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::upload_conversation].
    fn upload_conversation(
        &self,
        _req: crate::model::UploadConversationRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::update_conversation].
    fn update_conversation(
        &self,
        _req: crate::model::UpdateConversationRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::Conversation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_conversation].
    fn get_conversation(
        &self,
        _req: crate::model::GetConversationRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::Conversation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_conversations].
    fn list_conversations(
        &self,
        _req: crate::model::ListConversationsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::ListConversationsResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::delete_conversation].
    fn delete_conversation(
        &self,
        _req: crate::model::DeleteConversationRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::create_analysis].
    fn create_analysis(
        &self,
        _req: crate::model::CreateAnalysisRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_analysis].
    fn get_analysis(
        &self,
        _req: crate::model::GetAnalysisRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::Analysis>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_analyses].
    fn list_analyses(
        &self,
        _req: crate::model::ListAnalysesRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::ListAnalysesResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::delete_analysis].
    fn delete_analysis(
        &self,
        _req: crate::model::DeleteAnalysisRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::bulk_analyze_conversations].
    fn bulk_analyze_conversations(
        &self,
        _req: crate::model::BulkAnalyzeConversationsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::bulk_delete_conversations].
    fn bulk_delete_conversations(
        &self,
        _req: crate::model::BulkDeleteConversationsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::ingest_conversations].
    fn ingest_conversations(
        &self,
        _req: crate::model::IngestConversationsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::export_insights_data].
    fn export_insights_data(
        &self,
        _req: crate::model::ExportInsightsDataRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::create_issue_model].
    fn create_issue_model(
        &self,
        _req: crate::model::CreateIssueModelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::update_issue_model].
    fn update_issue_model(
        &self,
        _req: crate::model::UpdateIssueModelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::IssueModel>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_issue_model].
    fn get_issue_model(
        &self,
        _req: crate::model::GetIssueModelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::IssueModel>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_issue_models].
    fn list_issue_models(
        &self,
        _req: crate::model::ListIssueModelsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::ListIssueModelsResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::delete_issue_model].
    fn delete_issue_model(
        &self,
        _req: crate::model::DeleteIssueModelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::deploy_issue_model].
    fn deploy_issue_model(
        &self,
        _req: crate::model::DeployIssueModelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::undeploy_issue_model].
    fn undeploy_issue_model(
        &self,
        _req: crate::model::UndeployIssueModelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::export_issue_model].
    fn export_issue_model(
        &self,
        _req: crate::model::ExportIssueModelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::import_issue_model].
    fn import_issue_model(
        &self,
        _req: crate::model::ImportIssueModelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_issue].
    fn get_issue(
        &self,
        _req: crate::model::GetIssueRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::Issue>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_issues].
    fn list_issues(
        &self,
        _req: crate::model::ListIssuesRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::ListIssuesResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::update_issue].
    fn update_issue(
        &self,
        _req: crate::model::UpdateIssueRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::Issue>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::delete_issue].
    fn delete_issue(
        &self,
        _req: crate::model::DeleteIssueRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::calculate_issue_model_stats].
    fn calculate_issue_model_stats(
        &self,
        _req: crate::model::CalculateIssueModelStatsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<
            gax::response::Response<crate::model::CalculateIssueModelStatsResponse>,
        >,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::create_phrase_matcher].
    fn create_phrase_matcher(
        &self,
        _req: crate::model::CreatePhraseMatcherRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::PhraseMatcher>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_phrase_matcher].
    fn get_phrase_matcher(
        &self,
        _req: crate::model::GetPhraseMatcherRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::PhraseMatcher>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_phrase_matchers].
    fn list_phrase_matchers(
        &self,
        _req: crate::model::ListPhraseMatchersRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::ListPhraseMatchersResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::delete_phrase_matcher].
    fn delete_phrase_matcher(
        &self,
        _req: crate::model::DeletePhraseMatcherRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::update_phrase_matcher].
    fn update_phrase_matcher(
        &self,
        _req: crate::model::UpdatePhraseMatcherRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::PhraseMatcher>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::calculate_stats].
    fn calculate_stats(
        &self,
        _req: crate::model::CalculateStatsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::CalculateStatsResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_settings].
    fn get_settings(
        &self,
        _req: crate::model::GetSettingsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::Settings>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::update_settings].
    fn update_settings(
        &self,
        _req: crate::model::UpdateSettingsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::Settings>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::create_analysis_rule].
    fn create_analysis_rule(
        &self,
        _req: crate::model::CreateAnalysisRuleRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::AnalysisRule>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_analysis_rule].
    fn get_analysis_rule(
        &self,
        _req: crate::model::GetAnalysisRuleRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::AnalysisRule>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_analysis_rules].
    fn list_analysis_rules(
        &self,
        _req: crate::model::ListAnalysisRulesRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::ListAnalysisRulesResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::update_analysis_rule].
    fn update_analysis_rule(
        &self,
        _req: crate::model::UpdateAnalysisRuleRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::AnalysisRule>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::delete_analysis_rule].
    fn delete_analysis_rule(
        &self,
        _req: crate::model::DeleteAnalysisRuleRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_encryption_spec].
    fn get_encryption_spec(
        &self,
        _req: crate::model::GetEncryptionSpecRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::EncryptionSpec>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::initialize_encryption_spec].
    fn initialize_encryption_spec(
        &self,
        _req: crate::model::InitializeEncryptionSpecRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::create_view].
    fn create_view(
        &self,
        _req: crate::model::CreateViewRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::View>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_view].
    fn get_view(
        &self,
        _req: crate::model::GetViewRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::View>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_views].
    fn list_views(
        &self,
        _req: crate::model::ListViewsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::ListViewsResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::update_view].
    fn update_view(
        &self,
        _req: crate::model::UpdateViewRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::View>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::delete_view].
    fn delete_view(
        &self,
        _req: crate::model::DeleteViewRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::query_metrics].
    fn query_metrics(
        &self,
        _req: crate::model::QueryMetricsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::create_qa_question].
    fn create_qa_question(
        &self,
        _req: crate::model::CreateQaQuestionRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::QaQuestion>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_qa_question].
    fn get_qa_question(
        &self,
        _req: crate::model::GetQaQuestionRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::QaQuestion>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::update_qa_question].
    fn update_qa_question(
        &self,
        _req: crate::model::UpdateQaQuestionRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::QaQuestion>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::delete_qa_question].
    fn delete_qa_question(
        &self,
        _req: crate::model::DeleteQaQuestionRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_qa_questions].
    fn list_qa_questions(
        &self,
        _req: crate::model::ListQaQuestionsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::ListQaQuestionsResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::create_qa_scorecard].
    fn create_qa_scorecard(
        &self,
        _req: crate::model::CreateQaScorecardRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::QaScorecard>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_qa_scorecard].
    fn get_qa_scorecard(
        &self,
        _req: crate::model::GetQaScorecardRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::QaScorecard>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::update_qa_scorecard].
    fn update_qa_scorecard(
        &self,
        _req: crate::model::UpdateQaScorecardRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::QaScorecard>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::delete_qa_scorecard].
    fn delete_qa_scorecard(
        &self,
        _req: crate::model::DeleteQaScorecardRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_qa_scorecards].
    fn list_qa_scorecards(
        &self,
        _req: crate::model::ListQaScorecardsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::ListQaScorecardsResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::create_qa_scorecard_revision].
    fn create_qa_scorecard_revision(
        &self,
        _req: crate::model::CreateQaScorecardRevisionRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::QaScorecardRevision>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_qa_scorecard_revision].
    fn get_qa_scorecard_revision(
        &self,
        _req: crate::model::GetQaScorecardRevisionRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::QaScorecardRevision>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::tune_qa_scorecard_revision].
    fn tune_qa_scorecard_revision(
        &self,
        _req: crate::model::TuneQaScorecardRevisionRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::deploy_qa_scorecard_revision].
    fn deploy_qa_scorecard_revision(
        &self,
        _req: crate::model::DeployQaScorecardRevisionRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::QaScorecardRevision>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::undeploy_qa_scorecard_revision].
    fn undeploy_qa_scorecard_revision(
        &self,
        _req: crate::model::UndeployQaScorecardRevisionRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::QaScorecardRevision>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::delete_qa_scorecard_revision].
    fn delete_qa_scorecard_revision(
        &self,
        _req: crate::model::DeleteQaScorecardRevisionRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_qa_scorecard_revisions].
    fn list_qa_scorecard_revisions(
        &self,
        _req: crate::model::ListQaScorecardRevisionsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<
            gax::response::Response<crate::model::ListQaScorecardRevisionsResponse>,
        >,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::create_feedback_label].
    fn create_feedback_label(
        &self,
        _req: crate::model::CreateFeedbackLabelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::FeedbackLabel>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_feedback_labels].
    fn list_feedback_labels(
        &self,
        _req: crate::model::ListFeedbackLabelsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::ListFeedbackLabelsResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_feedback_label].
    fn get_feedback_label(
        &self,
        _req: crate::model::GetFeedbackLabelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::FeedbackLabel>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::update_feedback_label].
    fn update_feedback_label(
        &self,
        _req: crate::model::UpdateFeedbackLabelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<crate::model::FeedbackLabel>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::delete_feedback_label].
    fn delete_feedback_label(
        &self,
        _req: crate::model::DeleteFeedbackLabelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_all_feedback_labels].
    fn list_all_feedback_labels(
        &self,
        _req: crate::model::ListAllFeedbackLabelsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<
            gax::response::Response<crate::model::ListAllFeedbackLabelsResponse>,
        >,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::bulk_upload_feedback_labels].
    fn bulk_upload_feedback_labels(
        &self,
        _req: crate::model::BulkUploadFeedbackLabelsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::bulk_download_feedback_labels].
    fn bulk_download_feedback_labels(
        &self,
        _req: crate::model::BulkDownloadFeedbackLabelsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::list_operations].
    fn list_operations(
        &self,
        _req: longrunning::model::ListOperationsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::get_operation].
    fn get_operation(
        &self,
        _req: longrunning::model::GetOperationRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
    > + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Implements [super::client::ContactCenterInsights::cancel_operation].
    fn cancel_operation(
        &self,
        _req: longrunning::model::CancelOperationRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
        gaxi::unimplemented::unimplemented_stub()
    }

    /// Returns the polling error policy.
    ///
    /// When mocking, this method is typically irrelevant. Do not try to verify
    /// it is called by your mocks.
    fn get_polling_error_policy(
        &self,
        _options: &gax::options::RequestOptions,
    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
    }

    /// Returns the polling backoff policy.
    ///
    /// When mocking, this method is typically irrelevant. Do not try to verify
    /// it is called by your mocks.
    fn get_polling_backoff_policy(
        &self,
        _options: &gax::options::RequestOptions,
    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
    }
}
